#ifndef DAYCHECKVIEW_H
#define DAYCHECKVIEW_H

#include <QWidget>
#include <QTableWidget>
#include <QDateEdit>
#include <QPushButton>
#include <QVBoxLayout>
#include <QHBoxLayout>
#include <QLabel>
#include <QLineEdit>
#include "adminmanager.h"

class DayCheckView : public QWidget
{
    Q_OBJECT
public:
    explicit DayCheckView(QWidget *parent = nullptr);

    // 设置管理员管理器
    void setAdminManager(AdminManager *manager);

    // 刷新打卡数据
    void refreshAttendanceData();

signals:

private slots:
    // 查询按钮点击事件
    void onQueryButtonClicked();
    // 签到按钮点击事件
    void onCheckInButtonClicked();
    // 签退按钮点击事件
    void onCheckOutButtonClicked();
    // 操作结果处理
    void onOperationResult(bool success, const QString &message);

    // 更新打卡状态
    void updateAttendanceStatus();

private:
    // 初始化UI
    void initUI();

    // 管理员管理器指针
    AdminManager *m_adminManager;

    // UI组件
    QTableWidget *m_attendanceTable;
    QLineEdit *m_empIdEdit;
    QDateEdit *m_startDateEdit;
    QDateEdit *m_endDateEdit;
    QPushButton *m_queryButton;
};

#endif // DAYCHECKVIEW_H
